package common.util.generate.dao;

import common.util.generate.properties.ParamProperties;
import common.util.generate.properties.TableFieldProperties;
import common.util.generate.properties.TableProperties;

import java.util.List;

/**
 * @author liubo
 * @created 2020-06-29 13:22
 */
public interface JdbcDao {

    /**
     * 查询oracle 数据库的表信息
     * @param tableName
     * @return
     */
    TableProperties queryOracleTableInfo(String tableName);

    /**
     * 查询 mysql 数据库的表信息
     * @param tableName
     * @return
     */
    TableProperties queryMysqlTableInfo(String tableName);


    /**
     * 查询 oracle 字段属性
     * @param tableName
     * @return
     */
    List<TableFieldProperties> queryOracleTableFiledProperties(String tableName, ParamProperties param);

    /**
     * 查询 mysql 字段属性
     * @param tableName
     * @return
     */
    List<TableFieldProperties> queryMysqlTableFiledProperties(String tableName, ParamProperties param);

    /**
     * 查询oracle 数据表主键字段
     * @param tableName
     * @return
     */
    List<String> queryOraclePrimaryKeyFileds(String tableName);

    /**
     * 查询oracle 数据表主键字段
     * @param tableName
     * @return
     */
    List<String> queryMysqlPrimaryKeyFileds(String tableName);

}
